Reprogramable multi-host, multi-character set keyboard

ABSTRACT

A system having a keyboard capable of supporting multiple hosts and changing character sets. A first host processor communicates with a display. A keyboard has a plurality of independently moveable physical keys with each letter of an entire alphabet accessible by a single strike actuation of one of the plurality of keys. The keyboard uses twelve or fewer keys provide single strike access to the entire alphabet. A map defining functions of the keys appears on the display responsive to a prompting action of a user&#39;s hand without requiring any finger to leave the keys that provide access to the alphabet. The map defines the spatial relationship of each function relative to a home position of a finger.

CROSS REFERENCE TO RELATED APPLICATIONS

This application Claims priority of provisional application U.S. Ser.No. 62/263,217 filed Dec. 4, 2015 entitled Reprogrammable Multi-Host,Multi-Character Set Keyboard.

BACKGROUND

Field of the Invention

Embodiments of the invention relate to a keyboard. More specifically,embodiments of the invention relate to a wireless keyboard withmulti-host capability that permits customization of character sets and atool for such customization and access to the existing layout.

Background

Portable devices such as smartphones like the iPhone™ and Android™-basedphones, as well as tablet computers such as the iPad™, have becomeubiquitous and their market share in the overall computing field hascontinued to grow.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention are illustrated by way of example and notby way of limitation in the figures of the accompanying drawings inwhich like references indicate similar elements. It should be noted thatdifferent references to “an” or “one” embodiment in this disclosure arenot necessarily to the same embodiment, and such references mean atleast one.

FIG. 1 is a diagram of a system of one embodiment of the invention.

FIG. 2 is a diagram of a compact keyboard of one embodiment of theinvention.

FIGS. 3A-C depict the keyboard of FIG. 2 with only a first, second andthird layers of functions respectively visible.

FIG. 4 is a diagram of a system of one embodiment of the invention. Host120 is shown retained in clip 124 in a portrait orientation.

FIG. 5 shows an enlarged view of the onscreen prompt of FIG. 4.

FIG. 6 is a diagram of a system of one embodiment of the invention.

FIGS. 7A and 7B are diagrams of a system of one embodiment of theinvention.

FIG. 8 is a flow diagram of handling of the onscreen prompt in oneembodiment of the invention.

FIG. 9 is a flow diagram of customizing a key layout according to oneembodiment of the invention.

FIG. 10 shows a graphical user interface for keymap customizationaccording to one embodiment of the invention.

FIG. 11 is a flow diagram of a process of assigning hosts and key mapsto facilitate access according to one embodiment of the invention.

FIG. 12 shows a diagram of a multi-host system according to oneembodiment of the invention.

FIG. 13 is a flow diagram of device selection in one embodiment of theinvention.

FIGS. 14A-14C are diagrams explaining the chording mnemonic believed tobe effective for use in connection with one embodiment of the invention.

FIGS. 15A-15B show the manner in which the ctrl function can beactivated with either the right hand or the left hand.

FIGS. 16A-16C show the mappings of the left hand sequence for the ctrl,alt and command functions.

FIG. 17 shows the finger chording for command+alt+L.

FIG. 18 shows a diagram of dual-handed chording.

DETAILED DESCRIPTION

FIG. 1 is a diagram of a system of one embodiment of the invention. Awireless keyboard 100 is paired with a recipient device 120. Therecipient device 120 having a display 122 is retained at a desirablework angle by a dual function stand/clip 124. Recipient device 122 maybe a smartphone or tablet computer. Herein, recipient device isalternatively referred to as a “host.” It is also envisioned that thekeyboard of the embodiments in the instant invention may be used withdesktop computers or with any other electronic device for which akeyboard is desirable. “Recipient” as used herein is deemed to includeany device that receives inputs from the keyboard.

The key array 102, key array 104 and spacebar 106 are all individuallyand collectively frameless. This reduces the space required to supplythe keyboard functionality. Once assembled, as shown, the keyboard hasan “underlined V” shape. This underlined V-shape provides greaterergonomic comfort in reduced space relative to conventional keyboardscomprised of staggered linear rows of buttons. Nevertheless, otherembodiments of the invention may occupy greater space and have astandard linear arrangement. In one embodiment, assembling the deviceturns it on and disassembling the device turns it off. As discussedbelow, some functions may be enabled when the device is assembled.

The keys on each array 102, 104 are formed of individual keycaps 112 anda key base 114 that forms a substrate for all keys of the array. Thus,in the embodiment shown in FIG. 1, there are eight keycaps 112 (foureach for key array 102 and key array 104) and two key base substrates(one each for key array 102 and 104). In this embodiment, there are 2different sizes of keycaps; one for large keys such as key 132 and onefor smaller keys such as key 142. In one embodiment, keycaps 112 and keybases 114 are injection-molded from a thermoplastic. In one embodiment,they are molded from polycarbonate.

Each key is associated with at least three primary functions. Forexample, key 132 is associated with R, T, F, G, V and B as its primaryletter functions. For example, pressing the lower right hand corner ofkey 132 would fall within the B zone and result in the key eventactuating the B function. Each key is spaced at least 19 mm from itsneighboring key, consistent with international standards fortouch-typing. The character legends on a single key are closer togetherto reduce the throw distance for the character selections by a samesingle finger. Tests indicate this reduced throw lessens the physicalwork and contributes to faster touch-typing. In one embodiment, zones,which may overlap, are defined on each key such that actuation of thekey by a finger within the zone triggers the actuation of the associatedfunction. The alphanumeric and symbol character are each directlyavailable when the respective layer is active. That is for example,every letter of the alphabet is accessible in a single strike (nochording required) when the alpha layer is active. Caps Lock and Shiftlocations are used to get capital letters in the normal manner.

While the embodiment shown includes a single key for each finger. It iswithin the scope and contemplation of the invention to split each of thelarge keys (index and pinky finger keys) into 2 distinct physical keys.In such, embodiment up to twelve physical keys may be present on thekeyboard. In such embodiment each key would have three primary functionsaccessible at a first layer.

Spacebar 106 includes a cover 110 having a top surface 116. In oneembodiment, cover 110 includes an internally thinner region 108, which,while imperceptible externally, provides display functionalityresponsive to the actuation of, for example, LEDs within the spacebar106. LED's by nature have at least two states ON and OFF. Byappropriately using these LEDs it is possible to convey information,alerts etc. to a user. This type of display may also be useful onconventional keyboards to unobtrusively convey information e.g. fromwithin the spacebar. This display may be used to, for example, showbattery life, communications status, caps lock state, layer of functionsavailable, or other useful information to a user directly on thespacebar 106. Additionally, all or part of the surface 116 may beprovided with underlying capacitive sensors to detect input at differentregions/zones of the spacebar 106. A specific function can be assignedto distinct zones. For example, in one embodiment, three distinct zonesare provided that are separately interpretable, Left corner 126, rightcorner 136, and the center (rest) 146. It is useful to have thedifferent zones be easily tactilely identifiable with out requiring auser to look at the keyboard. By selecting the corners those zone 126,136 can readily be found by feel, the center 146 (in this embodiment) isanything that is not in the corner and therefore can also easily befound without looking. Some embodiment may include additional capacitivesensors that interpret gestures on the surface 116. In some embodiments,gestures can be used to switch modes or layers of the keyboard 100.

FIG. 2 is a diagram of a compact keyboard of one embodiment of theinvention. Keyboard 100 may communicate wirelessly with a host device(not shown). In one embodiment, a Bluetooth module within keyboard 100allows it to communicate with any Bluetooth-enabled device. Thus,embodiments of keyboard 100 may communicate with smartphones, tablets,laptops, desktop computers, etc. A processor within the keyboardinterprets key events and transmits them to the host. Other embodimentsmay be wired to or otherwise physically connected to a host.

In one embodiment, keyboard 100 provides three layers of functions in atleast some locations on the keyboard. As used herein “location” refersto both an entire key where the key is mapped to a single character, anda region of a key where a key is mapped to multiple characters, but theregion is uniquely mapped to a character. “Uniquely mapped” means that,based on the existing state of the keyboard, actuation of the locationunambiguously results in a single character or function. Thus, forexample each alpha character on keyboard 100 is uniquely mapped to alocation within the first layer 212, a second layer 214, and a thirdlayer 216. Within this patent application, “layer one” is usedinterchangeably with “first layer,” “layer two” with “second layer,” and“layer three” with “third layer.” In a default state the first layer isactive. Explicit details of each layer and the changing of the mode toaccess the different layers are discussed below.

Keyboard 100 includes a spacebar module 106, a right hand key array 104and a left hand key array 102. Spacebar module 106 provides space barfunctions to the keyboard. Right hand key array 104 includes fourdistinct mechanical keys that are collectively mapped to all thealphanumeric functions typically accessed by the right hand of the useron a touch-type keyboard, in this example a QWERTY layout keyboard. Aleft hand key array 106 similarly maps to all of the alphanumericfunctions typically accessed by the left hand of a user. The letters(alpha characters) form the majority of the first layer 212 (details ofthe first layer are depicted in FIG. 3A). Less commonly used charactersare efficiently distributed as shown. In one embodiment, most of thesefunctions are distributed to be accessed by a same finger as would bethe case on a conventional keyboard. The numbers and these less commonlyused characters form the second layer 214 of functions associate withlocation on the keyboard (details of the second layer are depicted inFIG. 3B).

Additionally, cursor control and special functions are provided by thekeyboard 100 at a third layer 216 (details of the third layer aredepicted in FIG. 3C).

To permit a user to visually identify the functions on the keyboard bothin the context of hunt-and-peck typing, and the context of lesser-usedfunctions where even touch typists require visual confirmation, allthree layers of functions can be represented at their locations on thekeyboard 100. However where different character set or different mappingare use alternatively, the fixed indicia on the keys may not match suchcustomization. As discussed below, one embodiment off the inventionprovides a visual prompt on the screen of the host such that the usermay always know what functions are currently available at particularlocations.

Keyboard 100 defines a set of home row locations, one for each finger.As used herein “finger” is any of the four digits of each hand excludingthe thumb, “thumb” refers to the thumb of either hand and “digits”refers to any of the fingers or thumbs. Thus, in a QWERTY stylekeyboard, key array 102 has the home row location defined at the “A”location, the “S” location, the “D” location and the “F” location. Theright hand key array 104 has home row locations defined at the “J”, “K”,“L”, and the apostrophe locations. This represents a repositioning ofthe apostrophe location to the home row instead of the “;”. But in usagetoday the apostrophe has higher usage than semi colon and colon and istherefore more desirable to be placed on the home row in the first layer212. In one embodiment, a rounded well 222 defines each home rowlocation. The rounded concave well 222 provides easy tactileidentification of the home row location on the key surface for a user.Other embodiments of the invention may use some other tactile indicationsuch as a roughened area, a raised area, or other tactilely-discerniblefeature that permits a user to locate the home row without looking. Itis believed that some tactile indication of location is highly desirablefor touch-typing.

As noted above, to compactly provide all of the functions of a standardkeyboard as well as some other desirable functionality, keyboard 100provides at least three distinct layers of functions at some locationson the keyboard. The alphabetic characters 212 exist at one layer,numbers 114 as well as special characters exist at a second layer 214,while cursor control functions and some other special functions exist atthird layer 216. For example, the “K” location provides capital K andlowercase k in layer 212, an “*” in layer 214, and a down arrow functionin third layer 216. The functions on the left edge 240 (tab, caps lock,and shift) and the right edge 242 (back space/delete, return, and shift)are available at all layers in one embodiment. In one embodiment thekeyboard permits concurrent actuation of a letter location, and a secondlocation, e.g. the shift location, on the same physical key. The layersare explained in greater detail with reference to FIGS. 3A-C below.

FIGS. 3A-C depict the keyboard of FIG. 2 with only a first, second andthird layers of functions respectively visible. FIG. 3A shows thefunctions accessible at a first layer 212. This includes all of thealphabetic characters, the shift function, the caps lock function, thetab function, the delete function, the return function, the apostrophe,the backslash, period and comma. In one embodiment, the double quotegrammatical symbol, the “?”, “<” and “>” are also first layer 212functions accessible as a shift of the apostrophe, “/” “,” and “.”locations respectively. The shift may be the “up-shift” arrow depictedin the outer lower corners of the keyboard, or other function key shiftsthat may be provided as desired, such as the command key or relatedkeys. In such embodiments these symbols are represented on the keysurface in the layer one 212 color e.g. silver. Such an embodiment maybe used to increase consistency with existing standard keyboards. Inother embodiments these symbols form part of layer two 214 as shown inFIG. 2B. Where the symbol is not accessible in the first layer 212 itwould be shown on the surface of the key in the layer two 214 color e.g.green. In normal operation, when in the layer two 214 state, all ofthese characters are accessible uniquely with a single key press by afinger at the location of the corresponding indicia on the key surface.Capacitive sensors within the keyboard detect the location of the user'sfinger on the key surface so that the key press is uniquely identifiedas corresponding to the desired function.

FIG. 3B depicts the keyboard of FIG. 2 showing only the functionsaccessible at a second layer in one embodiment of the invention. In oneembodiment, layer two 214 functions are accessed via a selectionfunction 136 on the spacebar module. The line in right corner location136 on the spacebar module 106 is, in one embodiment, instantiated inthe same color (e.g. green) as the layer two functions on the other keyarrays 102, 104. In one embodiment, actuation of location 136 on thespace bar module 106 with a single tap transitions to layer two 214 forthe immediately succeeding key event. Tapping location 136 twice inrapid succession latches the keyboard into layer two 214 until the latchis released by, for example, a further actuation of location 236, or atime-out. Alternatively, layer two 214 can be maintained by continuousactuation of location 136. In some embodiments, when the keyboard 100detects that the user has lifted his fingers off the home row, it may beconfigured to automatically shift to another layer. For example, if theuser moves his hand away to scan the green legends, the keyboard mayautomatically enter the layer two 214 state for a period of time toallow the user to select a green legend function without pressing agreen shift key. If the keyboard detects the return of fingers to homerow, the keyboard can be set to automatically return to layer one 112functionality. Such automatic detection and shifts may also beaccomplished by other means such as monitoring keyboard entry data.Modes may be maintained for an unlimited period of time for example,until a certain key input is received.

This layer 214 includes the numbers 0-9, each located to be associatedwith the same finger that would be used for that number on a standardkeyboard. Additionally, the symbols that are the shifts of the numbersare directly accessible in this layer without a shift, and immediatelyadjacent so as to associate with the same finger as on a standardkeyboard. Finally, the lesser-used symbols such as brackets and lesscommon punctuation are distributed in this layer. On the small keys,that is, those keys used by the middle and ring fingers, two symbols maybe accessed at one location e.g. location 306. This is performed usingthe normal “up-shift” function, as with shifting between upper and lowercase in the alpha layer 112. In the nomenclature of this embodiment, thesymbol on the left of the key is the shifted variant, and the symbol onthe right is directly accessible without a shift. For example, in thislayer 214 the “@” is directly accessible by the ring finger at the homerow location 306 without a shift. The “˜” is accessible as a shift ofthat same home row location 306. In one embodiment all of the largekeys, i.e. those keys accessed by the index and pinky fingers, have asingle layer two 214 function per location, and hence can be accessedwithout a shift. For example, at layer 214 the “]” can be accessedwithout a shift by actuating the “M” location, and the “[” can beaccessed without a shift by actuating the “N” location, which is belowand to the left of the “J” home row location 310. Access to symbols thatare commonly used together, such as the brackets, has been found toenhance usability when those symbols can be accessed by the same finger.

The functions of this layer are depicted in a second color differentfrom the characters in the first layer. It is desirable that the secondcolor be less obtrusive than the first color. In one embodiment, thefunctions of this layer are depicted in metallic green ink. Testing hasshown that metallic green ink (such as Pantone 10316C) performed best inbright and dim ambient light conditions to provide both good visibilityin low light as well as sufficient subtlety relative to the alphabetcolor when viewed in bright light. Other embodiments may use other inks,such as Pantones 10317C or 10318C which have also be found to havedesirable characteristics.

FIG. 3C shows only the third layer. In one embodiment, the indicia forthis layer are blind-embossed on the keys. As such, indicia are moldedrecesses that have the same color as the underlying plastic of the key.Alternatively, they can be indicia that are raised relative to thesurface of the key, and also molded in the same plastic and color. Thislayer provides special functions such as cursor control functions. Leftarrow 310 occupies the home row J location, right arrow 312 occupies theL home row location, down arrow 314 occupies the home row K location andup arrow 316 occupies the I location. Cursor control locations 310-316form a typical inverted-T cursor control pattern familiar to users.Significantly, however, because the cursor control is embedded in thehome row, it is faster and more convenient to access. As is describedbelow, the “edit” locations 302 and 304 occupy the D and F home rowlocations, and permit access to this layer 216 and in particular to theembedded home row cursor control functions 310-316. Similarly, theselect function at the S home row location 306 converts the cursorcontrol functions into selection functions. Other useful functions suchas copy, paste, undo, redo, go to beginning of line, go to end of line,go to next word, select next word, go to previous word, select previousword, go to next sentence, go to previous sentence, select nextsentence, select previous sentence, go to next paragraph, select nextparagraph, go to previous paragraph, select previous paragraph, page up,page down, go to start of page, go to end of page, go to start ofdocument, go to end of document, an edit control, a cursor selectioncontrol for a zone of text, play, pause, fast forward, rewind, skipforward, skip backward, volume up, volume down, mute, and a mediacontrol may be provided at layer three 216.

FIG. 4 is a diagram of a system of one embodiment of the invention. Host120 is shown retained in clip 124 in a portrait orientation. Keyboard100 is shown with a user's fingers 442 on home row. Spacebar 106 iseasily accessible with thumb 424 while fingers 422 remain on home row.Display 122 of host 120 shows a prompt 402 of the available functions ofkeyboard 100. That is, prompt 402 shows the functions that are availableat the presently accessible layer of keyboard 100. In this instance, thealpha layer. Manners in which the prompt 402 may be caused to displayare discussed in greater detail below in connection with FIG. 8.

FIG. 5 shows an enlarged view of the onscreen prompt of FIG. 4. Theonscreen prompt 402 is depicted so that a user can instantly discern therelative direction required to move each finger to reach a particularfunction. That is, the prompt 402 is segmented consistently with thekeys of the physical keyboard 100, and allows identification of therespective functions without moving the fingers from home row or lookingdown at the keyboard. The manner in which the prompt responds to useraction is explained in more detailed below with reference to FIG. 8.

FIG. 6 is a diagram of a system of one embodiment of the invention. Host120 with display 122 is shown depicting prompt 602 for the green layer(second layer) of one embodiment of keyboard 100. In this diagramfingers 422 are shown residing on home row while thumb 424 actuatesspacebar 106. In one embodiment, holding the spacebar down for athreshold period of time causes a transition from the alpha layer to thegreen layer. In one embodiment, once the transition occurs, LED 608 isilluminated to indicate that the green layer is now active. In oneembodiment, when the green layer becomes active, the onscreen prompt 602will present the functions available in the green layer. In oneembodiment, the threshold period after which the spacebar actuation willbe interpreted by the processors within the keyboard as a layer changeis longer than 300 milliseconds. In other embodiments, the green layermay be accessed by a gesture or action of a finger or fingers on a keyor keys of arrays 102, 104.

FIG. 7A is a diagram of a system of one embodiment of the invention.While FIG. 6 shows that holding spacebar down, for example, thumb 424,will shift the green layer, in other embodiments, tapping the leftcorner region 126 with thumb 424 also enters the green layer. In someembodiments, a single tap will display the green layer transiently untilthe next character is typed, and a rapid double-tap will latch into thegreen layer until the latch is released.

The green prompt 602 shows the spatial relationships of finger positionsto the actual physical keys of keyboard 100. The onscreen prompt 602avoids the need to search the legends on the physical keys forparticular characters. It allows the user to keep their eyes focused onthe screen, even when looking for legends, while the fingers maintaincontact with the keys, to locate entirely by feel. Especially in thecontext of a compact keyboard where the fingers occupy a largepercentage of the surface area of the keys, the onscreen prompting ismore easily visible and increases ease of use. Spacebar 106 alsoincludes pressure sensors. In one embodiment the green layer may beaccessed by tapping the spacebar without actuating it. In otherembodiments, the green layer may be accessed by a gesture or action of afinger or fingers on a key or keys of arrays 102, 104.

FIG. 7B is a diagram showing an alternative way to switch layers. In oneembodiment, a swipe 708 will a thumb 424 on the surface of spacebar alsotransitions the keyboard to a different layer. For example, from thealpha layer to the green layer. It is envisioned that repeatedly swipingthumb on the spacebar 106 can slide through multiple layers where anarbitrarily large number of layers can be accessed by repeated swiping.For example, in addition to the QWERTY alpha layer and the green layer,a user may install other languages such as Japanese, Korean, etc. orother layouts such as Colemak, Dvorak, etc. It is possible to swiperepeatedly to access other map layers. Additionally, while a horizontalswipe is depicted, other embodiments use a vertical swipe. Direct accessto different key maps is explained below with reference to FIG. 13.

FIG. 8 is a flow diagram of handling of the onscreen prompt in oneembodiment of the invention. At functional block 802, keyboard connectsto the host. In the case of a new host, the keyboard may need to gothrough a Bluetooth pairing scheme. However, the onscreen prompting isnot limited to a Bluetooth environment or any particular protocol used.There may be a range of preferences that a user can configure to affectwhen, if at all, the prompt will be displayed. A simple user interfacewith for example radio buttons can be provided for the user to set theirpreferences.

Once connected to the host, the processor within the keyboard identifieswhether the prompt preference is set to “always on” at decision block804. If the prompt is set to always on, the prompt for the current layeris shown on the screen of the host at functional block 806. Then, atblock 808, a determination is made whether a layer change has occurredas a result of some user action or inference by the processor within thekeyboard. For example, actuating the spacebar in a manner mapped to alayer change holding down the edit keys to move into edit mode, forexample, is a direct action. In some embodiment, sensor within thekeyboard, detect both key actuation and finger presence on the keys. Theactivity monitored permits algorithms executing within the keyboard toinfer when a user may be “searching” for a character or symbol. Forexample, removal of fingers from home row may in some embodiments resultin an inference that a non-alpha character is desired and precipitate atransition to the green layer, while return of the fingers may beinferred to indicate a desire to return to the alpha layer.

If a layer change is deemed to have occurred, the prompt for the newlayer is shown at block 810. If no interchange has occurred or after thenew layer is shown, the system cycles back through decision block 804.In this manner, if the user settings change such that the user no longerdesired to see the prompt always on, or if at block 804 originally, theprompt was not set to always on, a determination is made at decisionblock 812 whether the prompt is set to “never on.” If the prompt is setto never on, no prompt is displayed. Otherwise a determination is madeat decision block 814 whether a trigger event has occurred. Triggerevents may include for example a layer change, a delay betweencharacters exceeding a threshold, pairing with a new device and thelike. If a trigger event has occurred, a determination is made atdecision block 816 whether the user preference profile is set to showfor x seconds on the trigger event. In some embodiments, a user may beable to customize the number of seconds in addition to providing anindication of what will constitute a trigger event.

Additionally, trigger events may be dictated by the firmware within thekeyboard. If the preference is set so the prompt will be shown for xseconds responsive to the trigger. The current layer prompt is displayedat box 818. An x second timer is started at block 820. A determinationis made at block 822 if a layer change has occurred. If no layer changehas occurred, a determination is made if a further trigger event hasoccurred at decision block 824. If either the layer change has occurredor a new trigger event has occurred, the current layer is shown and thetimer restarted at blocks 818, 820 respectively. If neither a layerchange nor a trigger event have occurred, a determination is made atblock 826 whether the timer has expired. If the timer has not expired,the system continues to watch for a layer change or trigger event. Ifthe timer has expired, the prompt is extinguished at block 828. Then theprocess repeats.

When the prompt is not set to remain for x seconds on a trigger, adetermination is made at block 830 whether the prompt is set toself-extinguish on an actuation event. For example, in some embodiments,a layer change will trigger the prompt to appear for the new layer andthe prompt will extinguish immediately on actuation of a character inthat layer. To that effect, at block 832 the current layer is shown ifthe prompt is set to self-extinguish. At block 834, a determination ismade whether the event has occurred. Once the event occurs, the promptis extinguished at block 828, and the process repeats.

If the prompt is not set to self-extinguish, a determination is made ifthe prompt is set to smart response. If the prompt is set to smartresponse at decision block 836, a determination is made at block 838whether a layer selector has been pressed for greater than y seconds. Ifa layer selector has not been pressed for greater than y seconds, adetermination is made at block 840 whether a new layer has been addedwithout an actuation event for greater than z seconds. Empirically, ithas been found that holding the layer selector for long periods of timeor long delays before an actuation event after entering a new layer areoften reflective of a user's need to find a character in the new layer.Finally, if neither of these conditions is true, at block 842 adetermination is made if there is any other basis by which the need fora prompt can be inferred from the current context. If any of theseconditions are met, the current layer is shown at block 844. Thereafter,a determination is made at block 846 whether the context suggestsextinguishing the prompt. Among the things that might suggestsextinguishing a prompt are a layer change, settings change, or otherevent such as rapid typing that indicates the prompt is no longernecessary. If the context indicates that the prompt should beextinguished, the prompt will be extinguished at block 828, and theprocess repeats.

FIG. 9 is a flow diagram of customizing a key layout according to oneembodiment of the invention. At block 902, the key map (that is, whatthe keyboard will interpret a key press at a particular location on thekey as signifying) is set to a default. The different key layoutsincluding qwerty, azerty, colemak, dvorak and language-specific mappingsall exist. In some embodiments, a user may select a key map from alibrary and declare it their default key map. However, in someembodiments, the keyboard comes out of the box with a predefined defaultkey map, such as qwerty. The keyboards onboard memory can retain aplurality of keymaps. This allows the keymaps to be transportablebetween devices and usable even in the absence of Internet connectivity.A library of keymaps is available over the Internet and any map can bedownloaded for retention locally in a host or within the keyboarditself. Notably, the key map, default or otherwise, need not beconsistent with indicia printed on physical keys, and even blank keycaps are possible (and quite practical where multiple key layouts areused with a single physical instrument).

At decision block 904, a determination is made if a new key map has beenselected. If a new key map has been selected, the key map is set to thenew selection at block 906. If no new key map has been selected, adetermination is made at decision block 908 whether the user hasselected to customize a keymap. If a request to customize a keymap isnot received, the routine ends. If the user has selected to customize akeymap, at decision block 910 a determination is made whether a new namehas been provided for the target keymap. If a new name has beenprovided, the new name is assigned to the target keymap, and thenewly-named keymap is added to the library at block 912. This preventsoverwriting of a master keymap. For example, a user's qwerty map can bemodified and renamed without overwriting the master qwerty map residingin the library. The target keymap is then displayed on the display atblock 914.

At block 916, a source map from the map library is concurrentlydisplayed on the screen. Source map may be a keymap or a simple functionmenu/list. Any structure that allows a function to be identified so itcan be associated with a target location could be used. For example,even a long macro script containing many characters could be associatedwith the actuation of a target location. At block 918, the systemreceives a location selection on the target keymap. Then a determinationis made at decision block 920 whether a function selection from thesource map has been received. If a function selection has been receivedfrom the source map, that function is remapped to the target locationselected. If no source function selection is received from the sourcemap, a determination is made at block 924 whether a new source map hasbeen selected. Then this process repeats until a source function isreceived. This permits a single map to have functions selected frommultiple different source maps. Thus, foreign characters, emoji, etc maybe mixed in a single layout as desired by a particular user. After theremapping occurs at block 922 or no new source is selected at 924, adetermination is made at block 926 whether the customization iscomplete. If the customization is not finished, the routine returns toreceive additional target locations and repeats. Otherwise, adetermination is made at block 928 whether to save the target keymap. Ifthe target keymap is to be saved, the target keymap is recorded in thelocal memory of the keyboard. If the target keymap is not indicated tobe saved locally, a determination is made whether the key map should besaved on the host at block 932. If the keymap should be saved at thehost or other external memory, including on a cloud server, it is savedat the host at block 934. If it is not to be saved locally orexternally, the routine ends and the partially customized map isdiscarded.

FIG. 10 shows a graphical user interface for keymap customizationaccording to one embodiment of the invention. Screen 122 of a hostdevice shows a target layout 1002 and the source keyboard 1004.Additional screen real estate can be used to provide writteninstructions 1006 to facilitate the user's use of the customizationtool. In this embodiment, the circle at the location Q on the target keymap 1002 represents a selected location. Selecting any key on the sourcemap 1004 remaps the selected key to the Q location. For example, if auser presses G on source map 1004, the Q location in the target map ischanged to be mapped to G. Without more customization, there would be Gat both the Q location and the normal G location in the target map.Further customization can be performed to move any set of functions toany place on the keyboard. By touching any location in the target map,that location becomes the focus location to which the next sourceselection will be mapped. Moreover, as described above in connectionwith FIG. 9, the user is free to shift the source map to another key mapor even simply a list of functions that can be selected and then mappedto locations on the target 1002. By way of example, emoji or even macroscan be mapped to any key location on the target.

FIG. 11 is a flow diagram of a process of assigning hosts and key mapsto facilitate access according to one embodiment of the invention. Inone embodiment, there are a number of slots that are defined to beassociated with either distinct devices or different key maps. Theaccess for selection of slots is defined at block 1102. In oneembodiment, six distinct slots are associated with top row chords on thekeyboard. For example, chords of the QW location, the WE location, theER location and the RT location could represent one set of three slots,and UI, IO and OP might represent an additional three slots. Thesesequences allow immediate switching to a desired key map or devicewithout opening a menu or scrolling through options. The system isparticularly useful for multilingual users who switch between differentkey maps, or users who wish to use and switch quickly between multipledevices.

At block 1104, a user may select a particular sequence and assign aparticular device to that slot. At block 1106, a determination is madeif there are more devices for which a user desires to assign slots. Itis expected that the number of devices will typically be between 1 and4. However, in the example embodiment, 6 devices can be accommodated. Ifthere are no more devices to be assigned, the routine accepts anassignment of a key map to a particular slot. A determination is thenmade at block 1110 whether there are more key maps to be assigned. Ifso, additional key maps are assigned to additional slot. If not, theroutine ends. At the end of the routine, the user has populated theslots with a desired number of devices and key maps as the ability toinstantly change devices or key maps by actuating the sequence (e.g.chord) associated with the corresponding slot. Thus, for example, if afirst device is assigned to the chord QW and a second device is assignedto the chord WE, the user can instantly transition from the first deviceto the second device by simply striking the chord WE. Similarly, ifqwerty is assigned to the slot UI and colemak is assigned to the slotIO, the user can toggle between those key maps on the respective hostsimply by hitting the corresponding chord.

FIG. 12 shows a diagram of a multi-host system according to oneembodiment of the invention. As described with reference to FIG. 11, auser need only press the corresponding chord to toggle between firsthost 1202 and second host 1204. There is no requirement of repairing andno requirement to use a drop-down menu or the like to switch back andforth.

FIG. 13 is a flow diagram of device selection in one embodiment of theinvention. When the keyboard is powered up, it scans for available hostsat block 1302. At block 1304, if no devices are found it continues toscan until a device is found. If one or more devices are found, itselects and links to the device having the highest priority at block1306. In one embodiment, priority is determined by the slot location ofa particular device. Thus, a device assigned to the first slot is givenhighest priority, the second slot is given second priority, and soforth. At block 1308, a determination is made that a user has selected adifferent device. As discussed above, the selection of a differentdevice can result from determination that a user actuated the chordassociated with the slot to which the device is assigned. If a user hasselected a different device, the keyboard links to the selected deviceat block 1310. The user has not selected a different device, adetermination is made at block 1312 whether the need to link to adifferent device can be inferred from context. If it is possible toinfer that a link to a different device is desirable, the keyboard linksto the inferred device at block 1314. The routine continues, allowinguser to freely switch back and forth between devices.

FIGS. 14A-14C are diagrams explaining the chording mnemonic believed tobe effective for use in connection with one embodiment of the invention.FIG. 14A shows the bottom row characters 1402. Bottom row characters canbe chorded to achieve modifiers. For example, chord CB 1404 isequivalent to a command function. Thus, the bottom row can be used foroption, alt, command, esc, etc. FIG. 14B provide cording for home rowcursor and edit function. In one embodiment of the invention, middle rowchords are used for edit functions such as cut-and-paste, cursor, etc.,as well as function keys F1 through F12, and so forth. Finally, thechords on the top row are used for screen selection or languageselection. Chord 1460 gives direct access to one of a series of slotsthat are user-definable. Mnemonically, lower level function are chordedon the bottom row and increasingly higher level functions are chorded onhigher rows.

FIGS. 15A-15B show the manner in which the ctrl function can beactivated with either the right hand or the left hand. As shown in FIG.14A, the left hand can achieve the command function by chording c and v,that is, actuating the c and v locations on the keyboard simultaneously.Similarly, as shown in FIG. 15B, concurrently actuating the m locationand the comma location allows activation of the command function withthe right hand.

FIGS. 16A-16C show the mappings of the left hand sequence for the ctrl,alt and command functions. FIG. 16A reveals that concurrently actuatingthe c and v locations with the left hand results in a command function.FIG. 16B shows that concurrently actuating v, c, x and z locationsachieves the chording of control+alt+command, thus giving all threefunctions currently. Also revealed in FIG. 16B is that alt alone isactuated by x and c together, and ctrl alone is actuated by z and xtogether. A mirror relation exists for these functions when actuatedwith the right hand.

FIG. 17 shows the finger chording for command+alt+L. In this instance,the v location, the c location and x location are concurrently actuatedalong with the L location. It should be noted that the chordinglocations associated with each of the functions command, alt and ctrlare located near where those locations would be found on a historicalkeyboard. Moreover, each of these functions can be actuated with eitherhand. Thus, command+alt+D uses a right hand chord for the command+altportion, and D can be actuated with the left hand.

FIG. 18 shows a diagram of dual-handed chording, which may be used inone embodiment of the invention to access additional layers that may beuser-definable beyond the three standard defined layers, alpha, greenand edit. For example, a user may create a macro layer, and moving tothe macro layer is achieved by dual chording C and V and M and comma toreach the fourth layer. In this manner, an arbitrarily large number oflayers can be user-defined as part of a single key map and be readilyaccessible to a user.

An important phenomenon with touch typing is that human fingers oftenlay over multiple key locations when striking another location. Forexample, when pressing the “Return” key, the pinky finger may drape overthe surface of the “Shift” key. On a conventional keyboard, this has noeffect because each key is an independent plastic mechanism. Unless thenearby key were pressed to the point of actuation, there would be nocontention of characters.

In the case of the multi-touch keys described herein, several charactersare provided on a single plastic keytop. When fingers are draped acrosstwo or more multitouch sensing zones, it is possible to have contention.If “Return” and “Shift” for example, are on the same plastic key, and itis pressed with both zones covered by the flesh of the same finger, itcould be unclear which character is selected.

It is therefore desirable to have a means to infer from the availableinput data which character was intended. In one embodiment, a softwarealgorithm recognizes a pattern of two or more characters selected on thesame key. In one embodiment, the algorithm identifies this pattern bycomparing the signal strength of each of the capacitive sensor padslocated on that same physical key. The strongest pad signal is comparedwith the second strongest pad signal. If the difference is below athreshold, a determination is made that two pads were concurrentlyoperated. The two pads are then compared with a table of possiblecombinations to determine if a defined pattern was input. If the patternmatches an entry in the table, then the algorithm outputs the charactermapped to that pattern. In the example above, the pattern of a “Return”key and a “Shift” key would map to a “Return” key. In one embodiment,the algorithm would interpret two pads in a single vertical column to bethe upper character. Because of the way humans lay their fingers onkeys, it is often the case that when selecting a character, thecharacter immediately below it may also be covered by the finger withoutintending to select it. These patterns may be expanded to include acapacitive signature of amplitude and location on more than 2 pads. In amultitouch key with 6 pads for example, the pattern may includesignatures for various relative amplitudes at all 6 locations during akeypress event. The rules for the table entries can be completelyindependent and different at each unique location on the keyboard, anddefine diverse individual relationships relative to each respectiveneighboring pad.

In some embodiments, a pattern recognition algorithm can be givenexecutive authority over which character is produced, and such algorithmcan override the results of a simple direct quantitative comparison ofsignal on competing pads. In this way, a pad with weaker signal mayprevail over one with a stronger signal because of the logicalinferences that can be made from the pattern of amplitudes on thedifferent pads. So for example, if “Return” and “Shift” both have strongsignals, the algorithm could have “Return” prevail with a signal of 82even though “Shift” may have a signal of 95, because this two padcombination has a rule in a table, that gives “Return” priority whenboth are present.

Mechanical keyboards generally have fixed spatial distribution ofcharacter actuation locations corresponding to the location of plastickeys. Because this multitouch keyboard is defined primarily by softwaremaps and algorithms, it is possible to alter the spatial distribution ofactuation locations for a given character. Since the physical size andshape of fingers, and the typing style of different human operators mayvary widely, it is desirable to allow users to individually customizethe spatial boundaries of actuation locations for different charactersto suit their personal needs. Using a graphical control on aconfiguration application program, a user may move the actuationboundary closer or farther from the nominal dividing line betweenactuation locations on the surface of the key. For example, if a userwishes to create a wider acceptance zone for the “Return” function, theycould move a slide control on a configuration application programfarther north to invade the zone of the “Backspace” key. This wouldresult in a larger aperture for strikes that produce a “Return” input.

The legends of conventional mechanical keyboards reside on the physicalkeytops. These legends are not visible when fingers cover the keytop,necessitating removal of the finger to see the legend. Such legends arealso not visible in the dark unless illuminated by backlighting, atconsiderable power consumption. It is desirable to have access to alllegends without these constraints.

An on-screen legend array avoids these deficits and allows a user tostay focused on the screen where they are creating their content,instead of looking down at the physical keys. One drawback of suchon-screen legends is that they consume screen real estate. Because ofthe unique relationship possible with a compact, one-key-per-fingerkeyboard, a dramatic reduction in screen area used for the legend arraycan be achieved. Since the fingers can press on the real physical keys,the on-screen legends need only be large enough for visual recognition.Such compact on-screen can also be dynamic with changing functions, andcan maximize the remaining screen area for content. This is particularlyuseful with smaller screens common on smartphones. On-screen key legendsthat occupy 20% of the screen or less are particularly desirable becausethey leave at least 80% of the screen available for content. Asdisclosed in the attached captures from phones and tablet screens, thepresent invention uses an efficient graphical layout to result in aminimal number of vertical pixels, thereby minimizing the use of screenreal estate, and meeting the 20% goal.

The invention uses chords of various key combinations to overlay otherfunctions on the alphabetic character locations. In one embodiment, thefunction keys F1 through F10 are overlaid with letters Q through P,which also provide shift access to numbers 1 through 0. In thisembodiment, keys K and L form a chord to select function key mode.Holding down K and L would result in a conflict with attempting toselect 8 or 9 concurrently. To resolve the conflict, it is desirable tohave a latched state that can persist after the K and L keys arereleased. Once latched, any key, including those used to enter thelatched state, may be used to select a function key such as F8 or F9. Incases where no conflict exists, it may be more convenient to simply holddown K and L while say, the 3 or 4 key is pressed concurrently to selectF3 or F4. To reconcile these different needs, an intelligent scheme isprovided in the invention. In one embodiment, when the K and L key areconcurrently tapped for less than 300 milliseconds, the keyboard willenter the latched state for selecting a function key. If the next keyhit is one of numbers 1 through 0, a function F1 through F10 will beproduced, and the function key mode will extinguish. If K and L are heldfor longer than 300 milliseconds, the function key mode will persist foras long as K and L are held down. Any number key pressed during thattime will result in the corresponding function key. As soon as K and Lare released, the state will unlatch and the function key mode willextinguish. In this way, the invention provides access to every functionkey, while providing the convenience of automatic exit of the functionkey mode without requiring a separate action.

Another feature of interest in the invention is the ability to summonthe on-screen legends or hide them at will. In one embodiment, this isachieved by a unique chord of at least two fingers. In anotherembodiment, the chord is 4 fingers concurrently down on home row tobring up, or extinguish the on-screen key legend array. In otherembodiments, other key chords may be used to perform the same function.

It should be appreciated that reference throughout this specification to“one embodiment” or “an embodiment” means that a particular feature,structure or characteristic described in connection with the embodimentis included in at least one embodiment of the present invention.Therefore, it is emphasized and should be appreciated that two or morereferences to “an embodiment” or “one embodiment” or “an alternativeembodiment” in various portions of this specification are notnecessarily all referring to the same embodiment. Furthermore, theparticular features, structures or characteristics may be combined assuitable in one or more embodiments of the invention.

In the foregoing specification, the embodiments of the invention havebeen described with reference to specific embodiments thereof. It will,however, be evident that various modifications and changes can be madethereto without departing from the broader spirit and scope of theinvention as set forth in the appended claims. The specification anddrawings are, accordingly, to be regarded in an illustrative rather thana restrictive sense.

What is claimed is:
 1. A system comprising: a first host processor incommunication with a display; a keyboard with a plurality ofindependently moveable physical keys; wherein each letter of an entirealphabet is accessible by a single strike actuation of one of theplurality of keys, wherein twelve or fewer keys provide single strikeaccess to the entire alphabet; a map defining functions of the keys thatappears on the display responsive to a prompting action of a user's handwithout requiring any finger to leave the keys that provide access tothe alphabet; and wherein the map defines the spatial relationship ofeach function relative to a home position of a finger.
 2. The system ofclaim 1 wherein the map appears responsive to an action of a thumb on aspacebar.
 3. The system of claim 2 wherein the prompting action is atleast one of a lateral swipe, a press and hold exceeding a threshold oftime, a vertical swipe, at least one tap on the spacebar surface withoutactuating the space character function, and a press on a corner of thespacebar.
 4. The system of claim 1 wherein the map appears responsive toa prompting action of at least one finger on at least one key whereinthe action is at least one of a lateral swipe, a vertical swipe, atleast one tap on the key surface without actuating a character function,and concurrent actuation of two or more predefined keys.
 5. The systemof claim 1 wherein the map disappears automatically responsive to anactuation of a next key.
 6. The system of claim 1 wherein the mapcorrelates to an arrangement of the physical keys on the keyboard, andwherein the map visually defines which functions are associated witheach finger.
 7. The system of claim 1 wherein the keyboard providesaccess to a plurality of layers of functions assigned to the sameplurality of physical keys, each layer represented by a different visualmap.
 8. The system of claim 7 wherein a user navigates the plurality oflayers by a navigation action of a hand on the keyboard, and whereinresponsive to the prompting action the map displayed corresponds to apresently active layer, and a strike on a physical key location returnsthe corresponding function marked on the map.
 9. The system of claim 8wherein at least some of the layers correspond to different languages.10. The system of claim 8 wherein at least some of the layers correspondto different character layouts.
 11. The system of claim 1 furthercomprising: a second host processor wherein a user switches amongst theplurality of host processors by an action of a hand on the keyboard. 12.The system of claim 1 wherein the action is a chord comprising two ormore keys pressed concurrently.
 13. The system of claim 12 wherein theprompting action is the chord pressed for a defined amount of time. 14.The system of claim 7 wherein the visual map of the current layer showsthose functions accessible via a single strike of one finger, andwherein there is one key for each finger, and wherein the map showslocations on the surface of each key that select each function.
 15. Asystem comprising: a host processor in communication with a display; akeyboard with a plurality of independently moveable physical keys;wherein eight keys provide single strike access to an entire alphabet,each key having a home location for one of a user's eight fingers; and amap that appears on the display, the map depicting a function currentlyavailable at each location on a surface of a respective key relative tothe home location.
 16. The system of claim 15, wherein the function ateach location is selected by detecting a finger with a multi-touchsensor.
 17. The system of claim 15 wherein the keyboard provides accessto a plurality of layers of functions assigned to the same plurality ofphysical keys.
 18. The system of claim 1 wherein an algorithm interpretsa pattern of signal strength on at least two sensor pads to infer anintended character, even when the intended character may have a weakersignal at its pad location.
 19. The system of claim 1 wherein a spatialboundary between character locations can be changed via a softwaremapping.
 20. The system of claim 1 wherein the software mapping may bedefined on an application program that allows a user to alter themapping via a graphical user interface.